#include #include #define NODE_3 3 typedef struct { int targetID; int command; } Message; // Replace with your Node 1 MAC if needed uint8_t macNode1[] = {0x58, 0xE6, 0xC5, 0x19, 0xAD, 0xC8}; void OnDataRecv(const esp_now_recv_info_t *info, const uint8_t *incomingData, int len) { Serial.println("Packet received"); Message msg; memcpy(&msg, incomingData, sizeof(msg)); if (msg.targetID != NODE_3) { Serial.println("Not for me"); return; } Serial.print("Command received: "); Serial.println(msg.command); } void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); WiFi.disconnect(); // Important for ESP32-C6 if (esp_now_init() != ESP_OK) { Serial.println("ESP-NOW init failed"); return; } // Add Node 1 as peer (stability) esp_now_peer_info_t peerInfo = {}; memcpy(peerInfo.peer_addr, macNode1, 6); peerInfo.channel = 0; peerInfo.encrypt = false; esp_now_add_peer(&peerInfo); esp_now_register_recv_cb(OnDataRecv); Serial.println("Node 3 ready"); } void loop() {}